package com.guoxue.domain;

import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.InputStream;
import java.io.Serializable;
import java.sql.Blob;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Transient;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import org.hibernate.annotations.GenericGenerator;

/**
 * 由工具生成的java类,手工修改无效!
 * 
 * 
 */
@Entity
@Table(name = "planProgressVo")
public class PlanProgressVo implements Cloneable, Serializable {
	// /////////////////////////////////////////////////////////////////////////////
	// --->字段定义:
	// /////////////////////////////////////////////////////////////////////////////
	/**
	 * 当前计划id
	 */
	private int currentPlanId = 0;

	/**
	 * 当前读的次数
	 */
	private int currentReadCount = 0;

	/**
	 * 当前所读轮数
	 */
	private int currentReadRound = 0;

	/**
	 * 当前读到的句子
	 */
	private int currentSentence = 0;

	/**
	 * 进度ID
	 */
	@Id
	@GenericGenerator(name = "generator", strategy = "identity")
	@GeneratedValue(generator = "generator", strategy = GenerationType.IDENTITY)
	private int id;

	/**
	 * 获得奖牌
	 */
	private int medal = 0;

	/**
	 * 记录状态,0表示正常,-0x10表示已删除
	 */
	private int sysflag = 0;

	/**
	 * 用户id
	 */
	private int uid = 0;

	// /////////////////////////////////////////////////////////////////////////////
	// --->getter and setter:
	// /////////////////////////////////////////////////////////////////////////////
	/**
	 * 当前计划id
	 */
	public int getCurrentPlanId() {
		return this.currentPlanId;
	}

	/**
	 * 当前计划id
	 */
	public void setCurrentPlanId(int value_new_) {
		this.currentPlanId = value_new_;
	}

	/**
	 * 当前读的次数
	 */
	public int getCurrentReadCount() {
		return this.currentReadCount;
	}

	/**
	 * 当前读的次数
	 */
	public void setCurrentReadCount(int value_new_) {
		this.currentReadCount = value_new_;
	}

	/**
	 * 当前所读轮数
	 */
	public int getCurrentReadRound() {
		return this.currentReadRound;
	}

	/**
	 * 当前所读轮数
	 */
	public void setCurrentReadRound(int value_new_) {
		this.currentReadRound = value_new_;
	}

	/**
	 * 当前读到的句子
	 */
	public int getCurrentSentence() {
		return this.currentSentence;
	}

	/**
	 * 当前读到的句子
	 */
	public void setCurrentSentence(int value_new_) {
		this.currentSentence = value_new_;
	}

	/**
	 * 进度ID
	 */
	public int getId() {
		return this.id;
	}

	/**
	 * 进度ID
	 */
	public void setId(int value_new_) {
		this.id = value_new_;
	}

	/**
	 * 获得奖牌
	 */
	public int getMedal() {
		return this.medal;
	}

	/**
	 * 获得奖牌
	 */
	public void setMedal(int value_new_) {
		this.medal = value_new_;
	}

	/**
	 * 记录状态,0表示正常,-0x10表示已删除
	 */
	public int getSysflag() {
		return this.sysflag;
	}

	/**
	 * 记录状态,0表示正常,-0x10表示已删除
	 */
	public void setSysflag(int value_new_) {
		this.sysflag = value_new_;
	}

	/**
	 * 用户id
	 */
	public int getUid() {
		return this.uid;
	}

	/**
	 * 用户id
	 */
	public void setUid(int value_new_) {
		this.uid = value_new_;
	}

	// /////////////////////////////////////////////////////////////////////////////
	// --->流读写方法和打印方法:
	// /////////////////////////////////////////////////////////////////////////////
	@Override
	public String toString() {
		final StringBuilder sb = new StringBuilder();
		final String info;

		sb.append(",currentPlanId=" + this.currentPlanId);
		sb.append(",currentReadCount=" + this.currentReadCount);
		sb.append(",currentReadRound=" + this.currentReadRound);
		sb.append(",currentSentence=" + this.currentSentence);
		sb.append(",id=" + this.id);
		sb.append(",medal=" + this.medal);
		sb.append(",sysflag=" + this.sysflag);
		sb.append(",uid=" + this.uid);

		info = sb.toString();
		return info;
	}

	// /////////////////////////////////////////////////////////////////////////////
	// --->clone and copy:
	// /////////////////////////////////////////////////////////////////////////////
	@Override
	public Object clone() throws CloneNotSupportedException {
		return (PlanProgressVo) super.clone();
	}

	/**
	 * 令当前对象(this)成为指定对象(src)的拷贝
	 * 对简单数据类型的数组,进行深层复制
	 * 对dataMap数据,进行dataMap的整体复制
	 * @param src
	 */
	public void copyOf(PlanProgressVo src){
		this.currentPlanId = src.currentPlanId;
		this.currentReadCount = src.currentReadCount;
		this.currentReadRound = src.currentReadRound;
		this.currentSentence = src.currentSentence;
		this.id = src.id;
		this.medal = src.medal;
		this.sysflag = src.sysflag;
		this.uid = src.uid;
	}

}
